package com.tbvtc.agriculturalcreditchainserver2025.pojo;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.List;
@Data
public class LandInfo {
    private String landId;      // 土地ID（索引0）
    private Integer area;       // 面积（索引1）
    private String quality;     // 质量等级（索引2）
    private String remark;      // 备注（索引3）
    private String cropType;    // 作物类型（索引4）
    private String contractAddress; // 合约地址（索引5）
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
    private LocalDateTime timestamp;
    // 使用 @JsonCreator 反序列化数组到对象
    @JsonCreator
    public LandInfo(List<Object> array) {
        this.landId = (String) array.get(0);
        this.area = ((Number) array.get(1)).intValue();
        this.quality = (String) array.get(2);
        this.remark = (String) array.get(3);
        this.cropType = (String) array.get(4);
        this.contractAddress = (String) array.get(5);
        // 时间戳转换（毫秒 -> LocalDateTime）
        this.timestamp = LocalDateTime.ofInstant(
                Instant.ofEpochMilli(((Number) array.get(6)).longValue()),
                ZoneId.of("Asia/Shanghai")
        );
    }

    // 无参构造器（必须存在）
    public LandInfo() {}

    // Getter/Setter（省略，可用 Lombok @Data）
}